home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 30
/
Amiga Format AFCD30 (Sep 1998, Issue 114).iso
/
-seriously_amiga-
/
sound
/
player6.1a
/
source
/
include
/
player61.i
Wrap
Text File
|
1998-06-22
|
5KB
|
226 lines
IFND PLAYER61_I
PLAYER61_I SET 1
** $Filename: Player61.i $
** $Release: 6.1A $
** $Revision: 610.4 $
** $Date: 98/06/16 $
**
** The Player 6.1A definitions
**
** (C) Copyright 1992-94 Jarno Paananen
** All Rights Reserved
** Fixed in 1998 by NoName and Platon42
**
IFND EXEC_TYPES_I
include exec/types.i
ENDC
**************
* The header *
**************
STRUCTURE Player_Header,0
** Instructions to jump to P61_Init
ULONG P61_InitOffset
** ... to P61_Music (rts, if CIA-Version)
ULONG P61_MusicOffset
** ... to P61_End
ULONG P61_EndOffset
** ... to P61_SetRepeat (if present, otherwise rts)
ULONG P61_SetRepeatOffset
** ... to P61_SetPosition
ULONG P61_SetPositionOffset
** Master volume (used if told to...)
UWORD P61_MasterVolume
** If non-zero, tempo will be used
UWORD P61_UseTempo
** If zero, playing is stopped
UWORD P61_PlayFlag
** Info nybble after command E8
UWORD P61_E8_info
** Vector Base Register VBR passed to the player (default 0)
APTR P61_UseVBR
** Current song position
UWORD P61_Position
** Current pattern
UWORD P61_Pattern
** Current row
UWORD P61_Row
** Offset to channel 0 block from the beginning
APTR P61_Cha0Offset
** Offset to channel 1 block from the beginning
APTR P61_Cha1Offset
** Offset to channel 2 block from the beginning
APTR P61_Cha2Offset
** Offset to channel 3 block from the beginning
APTR P61_Cha3Offset
LABEL Player_Header_SIZE
*********************************************************
** The structure of the channel blocks (P61_Temp[0-3]) **
*********************************************************
STRUCTURE Channel_Block,0
** Note and the MSB of the sample number
UBYTE P61_SN_Note
** Lower nybble of the sample number and the command
UBYTE P61_Command
** Info byte
UBYTE P61_Info
** Packing info
UBYTE P61_Pack
** Pointer to the sample block of the current sample
APTR P61_Sample
** Current note (offset to the period table)
UWORD P61_Note
** Period
UWORD P61_Period
** Volume (NOT updated in tremolo!)
UWORD P61_Volume
** Current finetune
UWORD P61_Fine
** Sample offset
UWORD P61_Offset
** Last sample Offset
UWORD P61_LOffset
** To period for tone portamento
UWORD P61_ToPeriod
** Speed for tone portamento
UWORD P61_TPSpeed
** Vibrato command
UBYTE P61_VibCmd
** Vibrato position
UBYTE P61_VibPos
** Tremolo command
UBYTE P61_TreCmd
** Tremolo position
UBYTE P61_TrePos
** Retrig note counter
UWORD P61_RetrigCount
** Invert loop speed
UBYTE P61_Funkspd
** Invert loop offset
UBYTE P61_Funkoff
** Invert loop offset
APTR P61_Wave
** Internal switch to the packing
UWORD P61_OnOff
** Pointer to the current pattern data
APTR P61_ChaPos
** A packing pointer to data elsewhere in the pattern data
APTR P61_TempPos
** Lenght of the temporary positions
UWORD P61_TempLen
** Temp pointers for patternloop
UWORD P61_TData
APTR P61_TChaPos
APTR P61_TTempPos
UWORD P61_TTempLen
** Shadow address for fading (updated also in tremolo!)
UWORD P61_Shadow
** Bit in DMACON ($DFF096)
UWORD P61_DMABit
LABEL Channel_Block_SIZE
************************************************
** The structure of the sample block that **
** the Player does at the init to P61_Samples **
************************************************
STRUCTURE Sample_Block,0
** Pointer to the beginning of the sample
APTR P61_SampleOffset
** Lenght of the sample
UWORD P61_SampleLength
** Pointer to the repeat
APTR P61_RepeatOffset
** Lenght of the repeat
UWORD P61_RepeatLength
** Volume of the sample
UWORD P61_SampleVolume
** Finetune (offset to the period table)
UWORD P61_FineTune
LABEL Sample_Block_SIZE
************************************************
** Some internal stuff for the Usecode-system **
************************************************
** if finetune is used
P61_ft = use&1
** portamento up
P61_pu = use&2
** portamento down
P61_pd = use&4
** tone portamento
P61_tp = use&40
** vibrato
P61_vib = use&80
** tone portamento and volume slide
P61_tpvs = use&32
** vibrato and volume slide
P61_vbvs = use&64
** tremolo
P61_tre = use&$80
** arpeggio
P61_arp = use&$100
** sample offset
P61_sof = use&$200
** volume slide
P61_vs = use&$400
** position jump
P61_pj = use&$800
** set volume
P61_vl = use&$1000
** pattern break
P61_pb = use&$2800
** set speed
P61_sd = use&$8000
** E-commands
P61_ec = use&$ffff0000
** filter
P61_fi = use&$10000
** fine slide up
P61_fsu = use&$20000
** fine slide down
P61_fsd = use&$40000
** set finetune
P61_sft = use&$200000
** pattern loop
P61_pl = use&$400000
** E8 for timing purposes
P61_timing = use&$1000000
** retrig note
P61_rt = use&$2000000
** fine volume slide up
P61_fvu = use&$4000000
** fine volume slide down
P61_fvd = use&$8000000
** note cut
P61_nc = use&$10000000
** note delay
P61_nd = use&$20000000
** pattern delay
P61_pde = use&$40000000
** invert loop
P61_il = use&$80000000
ENDC ; PLAYER61_I